﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Diagnostics.Contracts;
using Library.Collections.Specialized;

namespace Library.Collections.Generic
{
    [ImmutableObject(true)]
    public interface IDictionaryReadOnly<TKey, TValue> : IMapCollectionReadOnly<TKey, TValue>, IEnumerable<Tuple<TKey, TValue>>, ICountable
    {
        [Pure]
        IEnumerable<TKey> Keys { get; }
        [Pure]
        IEnumerable<TValue> Values { get; }
    }
}
